package com.ihr360.payroll.service.attendancereport;

import com.ihr360.commons.vo.PageData;
import com.ihr360.payroll.model.dto.attendance.report.AttendanceMonthlyReport;
import com.ihr360.rest.service.SimpleRestService;
import org.springframework.data.domain.Pageable;

import java.util.Collection;
import java.util.List;
import java.util.Map;

public interface AttendanceMonthlyReportService extends SimpleRestService<AttendanceMonthlyReport, Long> {
    Map<String, AttendanceMonthlyReport> getMonthlyReportOfStaffs(String companyId, Long salaryPlanId, int year, int month, Collection<String> staffIds);

    PageData<AttendanceMonthlyReport> getMonthlyReportDetail(String companyId, Pageable pageable, Long summaryId, Boolean isAll);

    List<AttendanceMonthlyReport> getMonthlyReportList(String companyId, Long summaryId);

    AttendanceMonthlyReport queryOne(String companyId, Long summaryId, String staffId);

    void saveOne(Long summaryId, AttendanceMonthlyReport attendanceMonthlyReport);
}